L1-008 求整数段和
题目 L1-008 求整数段和
思路分析
printf
用法:printf("format specifier", value1, value2, ...);
目的:根据指定的格式输出数据。printf是C语言中的标准输出函数,但在C++中仍然可用。
场景:当需要精确控制输出格式,比如指定浮点数的精度,或者输出的宽度时。
优点:
- 高度格式化的输出。
- 在某些情况下,性能优于`cout`。
缺点:
- 不是类型安全的,错误的格式说明符可能导致运行时错误
常用格式控制
printf非常强大,支持多种格式控制符,可以精确地控制输出格式。
- `%d`:输出十进制整数。
- `%u`:输出无符号十进制整数。
- `%f`:输出浮点数,默认情况下保留小数点后六位。
- `%.2f`:输出浮点数,小数点后保留两位。
- `%s`:输出字符串。
- `%c`:输出单个字符。
- `%x`或`%X`:输出十六进制数,`x`产生小写字母,`X`产生大写字母。
- `%p`:输出指针地址。
- `%%`:输出`%`字符。
高级用法
- 指定宽度:%5d表示输出的整数至少占5个字符宽度,如果数字位数不够,前面补空格。
- 左对齐:%-5d表示输出的整数左对齐,至少占5个字符宽度。
- 指定浮点数精度:%.3f表示输出的浮点数保留三位小数。
- 动态宽度和精度:%*.*f允许动态指定宽度和精度,这两个值由额外的参数提供。
printf("%5d\n", 123); // " 123"
printf("%-5d\n", 123); // "123 "
printf("%.3f\n", 3.1415926); // "3.142"
注意:最后一行没满五个也要换行
代码实现
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int a,b;cin>>a>>b;
int sum=0;
int cnt=0;
for(int i=a;i<=b;i++){
printf("%5d",i);
sum+=i;
cnt++;
if(cnt%5==0) printf("\n");
}
if(cnt%5!=0) printf("\n");
printf("Sum = %d",sum);
return 0;
}
同类题型
视频讲解
⬅️ L1-007 念数字 🏠 00-天梯赛 ➡️ L1-009 N个数求和
💬 评论